package com.meituan.sdk.model.ddzh.yuding.pricelistPeriodsCreate;

import com.meituan.sdk.annotations.ApiMeta;
import java.util.List;
import com.google.gson.reflect.TypeToken;
import java.lang.reflect.Type;
import com.meituan.sdk.internal.utils.JsonUtil;
import com.google.gson.annotations.SerializedName;
import javax.validation.constraints.NotNull;
import com.meituan.sdk.MeituanResponse;
import com.meituan.sdk.MeituanRequest;
import javax.validation.constraints.NotEmpty;

/**
* 创建价目表商品时段资源
* This file was automatically generated.
*/
@ApiMeta(
    path = "/ddzh/yuding/pricePeriods/create",
    businessId = 58,
    apiVersion = "10032",
    apiName = "pricelist_periods_create",
    needAuth = true
)
public class PricelistPeriodsCreateRequest implements MeituanRequest<PricelistPeriodsCreateResponse> {
    /**
    * <p data-diff-id="ct-diff-id-3aa4ad20-3be8-4d58-a53a-2f0555631d53">业务类型：</p><p data-diff-id="ct-diff-id-6a391dea-2af5-4313-810a-cf621d80209e">100088<span style="color: rgba(0, 0, 0, 0.65)">-</span>棋牌预订</p>
    */
    @NotNull(message = "bizType不能为空")
    @SerializedName("bizType")
    private Integer bizType;
    /**
    * <p data-diff-id="ct-diff-id-1a69a21a-a797-49d2-8b0b-103b73bca1e4">商品分类：</p><p data-diff-id="ct-diff-id-65e5c368-cd7c-4ea7-a055-30bf2ec07859">2000251<span style="color: rgba(0, 0, 0, 0.87)">-棋牌行业</span></p>
    */
    @NotNull(message = "spuType不能为空")
    @SerializedName("spuType")
    private Long spuType;
    /**
    * <p data-diff-id="ct-diff-id-83e0d7fd-e9a2-4d37-b910-782394d099e9">商品时段日期信息</p>
    */
    @NotEmpty(message = "periodDays不能为空")
    @SerializedName("periodDays")
    private List<PeriodDay> periodDays;

    public Integer getBizType() {
        return bizType;
    }
    public void setBizType(Integer bizType) {
        this.bizType = bizType;
    }
    public Long getSpuType() {
        return spuType;
    }
    public void setSpuType(Long spuType) {
        this.spuType = spuType;
    }
    public List<PeriodDay> getPeriodDays() {
        return periodDays;
    }
    public void setPeriodDays(List<PeriodDay> periodDays) {
        this.periodDays = periodDays;
    }


    @Override
    public MeituanResponse<PricelistPeriodsCreateResponse> deserializeResponse(String response) {
        Type type = new TypeToken<MeituanResponse<PricelistPeriodsCreateResponse>>(){}.getType();
        return JsonUtil.fromJson(response, type);
    }
    @Override
    public String serializeToJson() {
        return JsonUtil.toJson(this);
    }


    @Override
    public String toString() {
        return "PricelistPeriodsCreateRequest{" + "bizType=" + bizType + "," + "spuType=" + spuType + "," + "periodDays=" + periodDays + "}";
    }
}
